package com.priox.sigar.application.mappers;

import com.mm.seguridad.dto.UsuarioDTO;
import com.priox.sigar.dto.ReporteContext;
import com.priox.sigar.client.dto.*;
import com.priox.sigar.dto.CheckPointFlt;

import java.util.List;
import java.util.Map;

public interface CheckPointMapper {

    public List<CheckPointDTO> findLast(CheckPointFlt checkPointFlt);

    CheckPointDTO findById(Long aLong);

    Map findResumen(Long checkPointId);
    Map findResumenBalance(Long checkPointId);

    List<CuentaContableDTO> findCuentaContableInvalida(Long checkPointId);

    List<MonedaDTO> findMonedas(ReporteContext reporteContext);

    List<String> findNumeroPedidoList(ReporteContext reporteContext);

    List<String> findUsuarioList(ReporteContext reporteContext);

    List<String> findCuentaContableList(ReporteContext reporteContext);

    List<AgrupacionDTO> findAgrupaciones(ReporteContext reporteContext);

    void removeOperacionCuenta(Long checkpointId);

    void removeComparativo(Long checkpointId);

    void updateAgrupaciones(Map map);

    void removeAgrupacion(Long agrupacionId);

    void removePedidoPosicion(Long checkPointId);

    List<SociedadDTO> findSociedades(ReporteContext reporteContext);

    UsuarioDTO findUsuarioById(String value);

    void updateDiferenciaDias(Map parametros);
    // AGREGADO POR FDELGADO

     List<DocumentoAcreedorDTO> findDocumentosNoEncontrados(Long checkpointId) ;
    List<DocumentoAcreedorDTO> findDocNoEncontradosEnOpeCuen(Long checkpointId) ;

    void sincronizar(DocumentoAcreedorDTO documentoAcreedorDTO);
    void sincronizarFBL3N(DocumentoAcreedorDTO documentoAcreedorDTO);

    DocumentoAcreedorDTO findDateDocumento(DocumentoAcreedorDTO customer);

    List<AcreedorDTO> findAcreedorList(ReporteContext reporteContext);
}
